home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / util / LinkedHashMap.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.3 KB  |  126 lines

  1. package java.util;
  2.  
  3. public class LinkedHashMap<K, V> extends HashMap<K, V> implements Map<K, V> {
  4.    private static final long serialVersionUID = 3801124242820219131L;
  5.    private transient Entry<K, V> header;
  6.    private final boolean accessOrder;
  7.  
  8.    public LinkedHashMap(int var1, float var2) {
  9.       super(var1, var2);
  10.       this.accessOrder = false;
  11.    }
  12.  
  13.    public LinkedHashMap(int var1) {
  14.       super(var1);
  15.       this.accessOrder = false;
  16.    }
  17.  
  18.    public LinkedHashMap() {
  19.       this.accessOrder = false;
  20.    }
  21.  
  22.    public LinkedHashMap(Map<? extends K, ? extends V> var1) {
  23.       super(var1);
  24.       this.accessOrder = false;
  25.    }
  26.  
  27.    public LinkedHashMap(int var1, float var2, boolean var3) {
  28.       super(var1, var2);
  29.       this.accessOrder = var3;
  30.    }
  31.  
  32.    void init() {
  33.       this.header = new Entry(-1, (Object)null, (Object)null, (HashMap.Entry)null);
  34.       this.header.before = this.header.after = this.header;
  35.    }
  36.  
  37.    void transfer(HashMap.Entry[] var1) {
  38.       int var2 = var1.length;
  39.  
  40.       for(Entry var3 = this.header.after; var3 != this.header; var3 = var3.after) {
  41.          int var4 = indexFor(var3.hash, var2);
  42.          var3.next = var1[var4];
  43.          var1[var4] = var3;
  44.       }
  45.  
  46.    }
  47.  
  48.    public boolean containsValue(Object var1) {
  49.       if (var1 == null) {
  50.          for(Entry var2 = this.header.after; var2 != this.header; var2 = var2.after) {
  51.             if (var2.value == null) {
  52.                return true;
  53.             }
  54.          }
  55.       } else {
  56.          for(Entry var3 = this.header.after; var3 != this.header; var3 = var3.after) {
  57.             if (var1.equals(var3.value)) {
  58.                return true;
  59.             }
  60.          }
  61.       }
  62.  
  63.       return false;
  64.    }
  65.  
  66.    public V get(Object var1) {
  67.       Entry var2 = (Entry)this.getEntry(var1);
  68.       if (var2 == null) {
  69.          return null;
  70.       } else {
  71.          var2.recordAccess(this);
  72.          return (V)var2.value;
  73.       }
  74.    }
  75.  
  76.    public void clear() {
  77.       super.clear();
  78.       this.header.before = this.header.after = this.header;
  79.    }
  80.  
  81.    Iterator<K> newKeyIterator() {
  82.       return new KeyIterator(this, (1)null);
  83.    }
  84.  
  85.    Iterator<V> newValueIterator() {
  86.       return new ValueIterator(this, (1)null);
  87.    }
  88.  
  89.    Iterator<Map.Entry<K, V>> newEntryIterator() {
  90.       return new EntryIterator(this, (1)null);
  91.    }
  92.  
  93.    void addEntry(int var1, K var2, V var3, int var4) {
  94.       this.createEntry(var1, var2, var3, var4);
  95.       Entry var5 = this.header.after;
  96.       if (this.removeEldestEntry(var5)) {
  97.          this.removeEntryForKey(var5.key);
  98.       } else if (this.size >= this.threshold) {
  99.          this.resize(2 * this.table.length);
  100.       }
  101.  
  102.    }
  103.  
  104.    void createEntry(int var1, K var2, V var3, int var4) {
  105.       HashMap.Entry var5 = this.table[var4];
  106.       Entry var6 = new Entry(var1, var2, var3, var5);
  107.       this.table[var4] = var6;
  108.       java.util.LinkedHashMap.Entry.access$600(var6, this.header);
  109.       ++this.size;
  110.    }
  111.  
  112.    protected boolean removeEldestEntry(Map.Entry<K, V> var1) {
  113.       return false;
  114.    }
  115.  
  116.    // $FF: synthetic method
  117.    static boolean access$000(LinkedHashMap var0) {
  118.       return var0.accessOrder;
  119.    }
  120.  
  121.    // $FF: synthetic method
  122.    static Entry access$100(LinkedHashMap var0) {
  123.       return var0.header;
  124.    }
  125. }
  126.